这个控件看起来不错。
功能:
1:提供Calendar的ContextMenu,右键调出。回发处理方式多样。支持AJAX
2:视图多种:可以显示天任务,也可以显示多天的,比方说1周内的计划任务
3:提供js事件和回发的Command事件处理。
4:支持DataTable数据绑定,xml数据绑定等
5:动态编辑任务,鼠标多选,拖动。js实现。
6:提供客户化的接口甚多。比方说时间格式,字体之类的。
英文介绍地址:http://www.codeproject.com/useritems/daypilot2.asp
图片:
下载:
http://www.daypilot.org/try.html
介绍:
几个重要属性的介绍
ContextMenuID="DayPilotMenu1" //上下文菜单的ID
DataEndField="end" //日期结束的字段
DataStartField="start" //日期时间开始的字段
DataTextField="name"//要在界面上显示的字段
DataValueField="id"//要绑定的值的字段。和DropDownList相像
Days="7" //这个比较重要。是现实几天数据的。这里设置的就是显示一周的数据。
//事件处理的方式
EventClickHandling="Edit"
EventEditHandling="CallBack"
EventMoveHandling="CallBack"
EventResizeHandling="CallBack"
EventEditHandling=“CallBack”;
EventMoveHandling=“CallBack”;
EventResizeHandling="CallBack"
//事件处理
OnEventClick="DayPilotCalendar1_EventClick"
OnEventEdit="DayPilotCalendar1_EventEdit"
OnEventMenuClick="DayPilotCalendar1_EventMenuClick"
OnEventMove="DayPilotCalendar1_EventMove"
OnEventResize="DayPilotCalendar1_EventResize"
OnTimeRangeSelected="DayPilotCalendar1_TimeRangeSelected"
//其他
HeightSpec="BusinessHours"
Style="left: 54px; top: 45px" TimeRangeSelectedHandling="CallBack"看看上下文菜单
1
<daypilot:DayPilotMenu ID="DayPilotMenu1" runat="server">
2
<daypilot:MenuItem Action="JavaScript" JavaScript="alert('Opening event (id {0})');"
3
Text="Open" />
4
<daypilot:MenuItem Action="JavaScript" JavaScript="alert('Sending event (id {0})');"
5
Text="Send" />
6
<daypilot:MenuItem Action="NavigateUrl" Text="-" />
7
<daypilot:MenuItem Action="Callback" Command="Delete" Text="Delete (CallBack)" />
8
<daypilot:MenuItem Action="PostBack" Command="Delete" Text="Delete (PostBack)" />
9
</daypilot:DayPilotMenu>
10
<daypilot:DayPilotMenu ID="DayPilotMenu1" runat="server">2
<daypilot:MenuItem Action="JavaScript" JavaScript="alert('Opening event (id {0})');"3
Text="Open" />4
<daypilot:MenuItem Action="JavaScript" JavaScript="alert('Sending event (id {0})');"5
Text="Send" />6
<daypilot:MenuItem Action="NavigateUrl" Text="-" />7
<daypilot:MenuItem Action="Callback" Command="Delete" Text="Delete (CallBack)" />8
<daypilot:MenuItem Action="PostBack" Command="Delete" Text="Delete (PostBack)" />9
</daypilot:DayPilotMenu>10

这是数据绑定的代码,看起来很熟悉
1
DayPilotCalendar1.StartDate = DayPilot.Utils.Week.FirstDayOfWeek(DateTime.Today);
2
3
if (!IsPostBack)
4
{
5
if (Session["AllFeatures"] == null)
6
Session["AllFeatures"] = DataGenerator.GetData();//生成测试用的数据
7
8
DayPilotCalendar1.DataSource = Session["AllFeatures"];//就是设置DataTable做数据源了
9
DataBind();
10
}
11
12
DayPilotCalendar1.StartDate = DayPilot.Utils.Week.FirstDayOfWeek(DateTime.Today);2

3
if (!IsPostBack)4
{5
if (Session["AllFeatures"] == null)6
Session["AllFeatures"] = DataGenerator.GetData();//生成测试用的数据7

8
DayPilotCalendar1.DataSource = Session["AllFeatures"];//就是设置DataTable做数据源了9
DataBind();10
}11

12

这一个是数据源的定义
1
public class DataGenerator
2
{
3
public static DataTable GetData()
4
{
5
DataTable dt;
6
dt = new DataTable();
7
dt.Columns.Add("start", typeof(DateTime));
8
dt.Columns.Add("end", typeof(DateTime));
9
dt.Columns.Add("name", typeof(string));
10
dt.Columns.Add("id", typeof(string));
11
dt.Columns.Add("column", typeof(string));
12
13
DataRow dr;
14
15
dr = dt.NewRow();
16
dr["id"] = 0;
17
dr["start"] = Convert.ToDateTime("15:50");
18
dr["end"] = Convert.ToDateTime("15:55");
19
dr["name"] = "Event 1";
20
dr["column"] = "A";
21
dt.Rows.Add(dr);
22
23
dr = dt.NewRow();
24
dr["id"] = 1;
25
dr["start"] = Convert.ToDateTime("16:00");
26
dr["end"] = Convert.ToDateTime("17:00");
27
dr["name"] = "Event 2";
28
dr["column"] = "A";
29
dt.Rows.Add(dr);
30
31
dr = dt.NewRow();
32
dr["id"] = 2;
33
dr["start"] = Convert.ToDateTime("16:15").AddDays(1);
34
dr["end"] = Convert.ToDateTime("18:45").AddDays(1);
35
dr["name"] = "Event 3";
36
dr["column"] = "A";
37
dt.Rows.Add(dr);
38
39
dr = dt.NewRow();
40
dr["id"] = 3;
41
dr["start"] = Convert.ToDateTime("16:30");
42
dr["end"] = Convert.ToDateTime("17:30");
43
dr["name"] = "Sales Dept. Meeting Once Again";
44
dr["column"] = "B";
45
dt.Rows.Add(dr);
46
47
dr = dt.NewRow();
48
dr["id"] = 4;
49
dr["start"] = Convert.ToDateTime("8:00");
50
dr["end"] = Convert.ToDateTime("9:00");
51
dr["name"] = "Event 4";
52
dr["column"] = "B";
53
dt.Rows.Add(dr);
54
55
dr = dt.NewRow();
56
dr["id"] = 5;
57
dr["start"] = Convert.ToDateTime("22:00");
58
dr["end"] = Convert.ToDateTime("6:00").AddDays(1);
59
dr["name"] = "Event 5";
60
dt.Rows.Add(dr);
61
62
63
dr = dt.NewRow();
64
dr["id"] = 6;
65
dr["start"] = Convert.ToDateTime("11:00");
66
dr["end"] = Convert.ToDateTime("13:00");
67
dr["name"] = "Event 6";
68
dt.Rows.Add(dr);
69
70
dt.PrimaryKey = new DataColumn[] { dt.Columns["id"] };
71
72
return dt;
73
74
}
75
}
76
77
public class DataGenerator2
{3
public static DataTable GetData()4
{5
DataTable dt;6
dt = new DataTable();7
dt.Columns.Add("start", typeof(DateTime));8
dt.Columns.Add("end", typeof(DateTime));9
dt.Columns.Add("name", typeof(string));10
dt.Columns.Add("id", typeof(string));11
dt.Columns.Add("column", typeof(string));12

13
DataRow dr;14

15
dr = dt.NewRow();16
dr["id"] = 0;17
dr["start"] = Convert.ToDateTime("15:50");18
dr["end"] = Convert.ToDateTime("15:55");19
dr["name"] = "Event 1";20
dr["column"] = "A";21
dt.Rows.Add(dr);22

23
dr = dt.NewRow();24
dr["id"] = 1;25
dr["start"] = Convert.ToDateTime("16:00");26
dr["end"] = Convert.ToDateTime("17:00");27
dr["name"] = "Event 2";28
dr["column"] = "A";29
dt.Rows.Add(dr);30

31
dr = dt.NewRow();32
dr["id"] = 2;33
dr["start"] = Convert.ToDateTime("16:15").AddDays(1);34
dr["end"] = Convert.ToDateTime("18:45").AddDays(1);35
dr["name"] = "Event 3";36
dr["column"] = "A";37
dt.Rows.Add(dr);38

39
dr = dt.NewRow();40
dr["id"] = 3;41
dr["start"] = Convert.ToDateTime("16:30");42
dr["end"] = Convert.ToDateTime("17:30");43
dr["name"] = "Sales Dept. Meeting Once Again";44
dr["column"] = "B";45
dt.Rows.Add(dr);46

47
dr = dt.NewRow();48
dr["id"] = 4;49
dr["start"] = Convert.ToDateTime("8:00");50
dr["end"] = Convert.ToDateTime("9:00");51
dr["name"] = "Event 4";52
dr["column"] = "B";53
dt.Rows.Add(dr);54

55
dr = dt.NewRow();56
dr["id"] = 5;57
dr["start"] = Convert.ToDateTime("22:00");58
dr["end"] = Convert.ToDateTime("6:00").AddDays(1);59
dr["name"] = "Event 5";60
dt.Rows.Add(dr);61

62

63
dr = dt.NewRow();64
dr["id"] = 6;65
dr["start"] = Convert.ToDateTime("11:00");66
dr["end"] = Convert.ToDateTime("13:00");67
dr["name"] = "Event 6";68
dt.Rows.Add(dr);69

70
dt.PrimaryKey = new DataColumn[] { dt.Columns["id"] };71

72
return dt;73

74
}75
}76

77



浙公网安备 33010602011771号